package com.ljk.study5ormmybatis.service;

import com.ljk.study5ormmybatis.entity.User;
import com.ljk.study5ormmybatis.exception.DataException;
import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * desc:
 *
 * @author ljk
 * @date 2021/3/25 8:55
 */
public interface UserService {
    /**
     * desc: 查找所有用户
     *
     * @return List<User>
     * @author ljk
     * @date 2021/3/27 18:00
     */
    List<User> findAllUser();

    /**
     * 根据主键查询user
     *
     * @param id
     * @return 用户信息
     * @throws DataException
     * @author ljk
     * @date 2021/3/27 20:16
     */
    User findUserById(Long id) throws DataException;

    /**
     * 根据id号更新电话号码
     *
     * @param id
     * @param number
     * @return 更新的条数
     * @throws DataException
     * @author ljk
     * @date 2021/3/27 20:16
     */
    int updateUserPhoneById(Long id, String number) throws DataException;

    /**
     * desc: 测试事务可行性
     *
     * @return String 信息
     * @throws DataException
     * @author ljk
     * @date 2021/3/27 20:16
     */
    String testTransactional() throws DataException;

}
